a. Field of the Invention
The present invention relates to the field of data compression and, more particularly, to a system and techniques for compressing digital motion video signals.
b. Related Art
Technological advances in digital transmission networks, digital storage media, Very Large Scale Integration devices, and digital processing of video and audio signals are converging to make the transmission and storage of digital video economical in a wide variety of applications. Because the storage and transmission of digital video signals is central to many applications, and because an uncompressed representation of a video signal requires a large amount of storage, the use of digital video compression techniques is vital to this advancing art. In this regard, several international standards for the compression of digital video signals have emerged over the past decade, with more currently under development. These standards apply to algorithms for the transmission and storage of compressed digital video in a variety of applications, including: video-telephony and teleconferencing; high quality digital television transmission on coaxial and fiber-optic networks as well as broadcast terrestrially and over direct broadcast satellites; and in interactive multimedia products on CD-ROM, Digital Audio Tape, and Winchester disk drives.
Several of these standards involve algorithms based on a common core of compression techniques, e.g., the CCITT (Consultative Committee on International Telegraphy and Telephony) Recommendation H.120, the CCITT Recommendation H.261, and the ISO/IEC MPEG-1 and MPEG-2 standards. The MPEG-1 algorithm, has been developed by the Moving Picture Experts Group (MPEG), part of a joint technical committee of the International Standards Organization (ISO) and the International Electrotechnical Commission (IEC). The MPEG-1 standard describes a compressed representation of video and associated audio signals. The standard specifies the syntax of the compressed bit stream and the method of decoding, but leaves considerable latitude for novelty and variety in the algorithm employed in the encoder.
The MPEG-1 algorithm is intended to be used primarily with fixed bit-rate storage media. However, the number of bits in each picture will not be exactly constant, due to the different types of picture processing, as well as the inherent variation with time of the spatio-temporal complexity of the scene being coded. The MPEG-1 algorithm uses a buffer-based rate control strategy to put meaningful bounds on the variation allowed in the bit-rate. A Video Buffer Verifier (VBV) is devised in the form of a virtual buffer, whose sole task is to place bounds on the number of bits used to code each picture so that the overall bit-rate equals the target allocation and the short-term deviation from the target is bounded. This rate control scheme can be explained as follows.
Consider a system consisting of a buffer followed by a hypothetical decoder. The buffer is filled at a constant bit-rate with compressed data in a bit stream from the storage medium. Both the buffer size and the bit-rate are parameters which are transmitted in the compressed bit stream. After an initial delay, which is also derived from information in the bit stream, the hypothetical decoder instantaneously removes from the buffer all of the data associated with the first picture. Thereafter, at intervals equal to the picture rate of the sequence, the decoder removes all data associated with the earliest picture in the buffer.
In order that the bit stream satisfy the MPEG-1 rate control requirements, it is necessary that all the data for each picture is available within the buffer at the instant it is needed by the decoder. This requirement translates to upper and lower bounds (U.sup.VBV and L.sup.VBV) on the number of bits allowed in each picture. The upper and lower bounds for a given picture depend on the number of bits used in all the pictures preceding it. It is the function of the encoder to produce bit streams which satisfy this requirement. It is not expected that actual decoders will be configured or operate in the manner described above. The hypothetical decoder and its associated buffer are simply a means of placing computable limits on the size of compressed pictures.
There are a number of schemes which address certain aspects of bit rate control. For example, W-H CHEN and W. K. PRATT, in their paper, "Scene Adaptive Coder," IEEE Trans. Communications, vol. COM-32, pp. 225-232, March 1984, discuss the idea of a rate-controlled quantization factor for transform coefficients. The rate control strategy used there is commonly applied in image and video compression algorithms to match the variable bit-rate produced when coding to a constant bit-rate channel.
Another rate control scheme can be found in U.S. Pat. No. 5,231,484 to Gonzales and Viscito, which describes a rate control mechanism that can be used for MPEG-1. The rate control mechanism keeps track, after each macroblock, of how many bits have been produced in the picture so far. When the number of bits that have been produced in the picture so far begins to approach U.sup.VBV, QP is increased.
It is noted that in both of the above cited rate control schemes, the rate control is achieved by varying the quantization levels used for each macroblock. However, even if QP is set to the maximum legal value it is possible that more than U.sup.VBV will be produced. This may occur, for example, if the video buffer is very small and/or a very high complexity scene is being encoded.